// 手写new 函数的封装

function myNew(Func) {
  return function () {
    let obj = new Object();
    obj.__proto__ == Func.prototype; // 改变原型 让实例对象的原型对象指向Func
    Func.apply(obj, arguments); // 使得实例对象拥有构造函数所规定的属性和方法
    return obj;
  };
}

function Person(age) {
  this.age = age;
}

const person2=myNew(Person)(100)
console.log(person2)
